// 🔑 关键：从运行时配置读取API基础路径
declare global {
  interface Window {
    APP_CONFIG: {
      API_BASE_PATH: string;
      TIMEOUT: number;
      RETRY_COUNT: number;
      ENABLE_DEBUG: boolean;
      ENABLE_MOCK: boolean;
    };
  }
}

// 获取运行时配置，支持打包后修改
const getRuntimeConfig = () => {
  // 开发环境默认配置
  const defaultConfig = {
    API_BASE_PATH: '',  // 开发环境使用空路径，代理会处理 /api 前缀
    TIMEOUT: 30000,
    RETRY_COUNT: 3,
    ENABLE_DEBUG: true,
    ENABLE_MOCK: false,
  };

  // 生产环境从window.APP_CONFIG读取，支持运行时修改
  return typeof window !== 'undefined' && window.APP_CONFIG
    ? window.APP_CONFIG
    : defaultConfig;
};

export const API_CONFIG = {
  get basePath() {
    return getRuntimeConfig().API_BASE_PATH;
  },
  get timeout() {
    return getRuntimeConfig().TIMEOUT;
  },
  get retryCount() {
    return getRuntimeConfig().RETRY_COUNT;
  },
  get enableDebug() {
    return getRuntimeConfig().ENABLE_DEBUG;
  },
  get enableMock() {
    return getRuntimeConfig().ENABLE_MOCK;
  },
} as const;
